Inizia a correre con le minimoto. Nel 2002, utilizzando motociclette Gazzaniga ed Engines Engineering 125 conquista cinque punti nella classe 125 GP del campionato Italiano Velocità. Nel 2003 disputa le prime tre gare della classe 125 del CIV, in sella ad una Gazzaniga, conquistando tre punti. Nel 2004 giunge secondo nella Coppa Italia Supersport e nel 2005 vince il campionato europeo Superstock 600, ottenendo cinque vittorie e sette podi su un totale di dieci gare. Nella stessa stagione si classifica al settimo posto nel Campionato Italiano Supersport ottenendo un podio. Fra il 2006 e il 2009 corre nella Superstock 1000 FIM Cup, giungendo secondo nell'ultimo anno. Nel 2006 inoltre, è vice-campione italiano Stock1000: in sella ad una Yamaha ottiene tre vittorie e due secondi posti nelle sei gare disputate. La stagione successiva si conferma vice-campione di categoria. Nel 2008 passa alla classe Superbike del campionato italiano chiudendo, per la terza stagione consecutiva, al secondo posto e vincendo due gare. Nel 2009 prende parte al Gran Premio di Monza nel campionato italiano Stock 1000. In sella ad una Suzuki GSX-R1000 termina la gara al secondo posto.[1]
Nel 2013 trova un contratto per rimanere nella classe regina passando al team NGM Mobile Forward Racing;[4] il compagno di squadra è Colin Edwards. Ottiene come miglior risultato un dodicesimo posto in Catalogna e termina la stagione al 19º posto con 14 punti. Nel 2014 viene ingaggiato dal team MV Agusta RC-Yakhnich M. per correre con la MV Agusta F4 RR il campionato mondiale Superbike. Nella stessa stagione è iscritto ad alcune gare nel campionato italiano Supersport. Nel 2015 corre in MotoGP in Germania sulla Yamaha Forward in sostituzione dell'infortunato Stefan Bradl, per prenderne poi il posto fino al Gran premio d'Aragona quando sarà a sua volta sostituito dallo spagnolo Toni Elías. Non ottiene punti validi per la classifica mondiale.